<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>模版内置对象，方便使用request,session的使用</title>
</head>
<body>
    <div style="margin-left: 350px">
        <h3>内置对象#request , #session , session 的使用</h3>
        <p>获取作用域中的数据</p>
        <p th:text="${#request.getAttribute('requestData')}"></p>
        <p th:text="${#session.getAttribute('sessionData')}"></p>
        <!--
            session是一个map,是一个内置对象，其实就是使用map去调用 session作用域中的值
            session作用域在进行赋值的时候会形成一个键值对形式的数据
            当模版引擎在进行调用的时候  发现当前是使用session进行调用的 并且名字叫做session
            所以 在这个时候会获取到所有session域中的键值对,然后通过 传递过来的键 获取对应的值
            这就是原理  而我不需要知道  但是既然已经知道了  那就行了
        -->
        <p th:text="${session.get('loginname')}"></p>
        <p th:text="${#session.getAttribute('loginname')}"></p>

        <br>
        <hr>
        <h3>使用内置对象的方法</h3>
        getRequestURL=  <span th:text="${#request.getRequestURL()}"></span><br>
        getRequestURI=  <span th:text="${#request.getRequestURI()}"></span><br>
        getQueryString = <span th:text="${#request.getQueryString()}"></span><br>
        getContextPath = <span th:text="${#request.getContextPath()}"></span><br>
        getServerName = <span th:text="${#request.getServerName()}"></span><br>
        getServerPort = <span th:text="${#request.getServerPort()}"></span><br>
        <span th:text="${#session.getId()}"></span>

        <h3>param对象:表示请求的参数集合 内置对象 看文档 全部都是英文 , 所以,如果想要自己的技术更好,还需要学习英文，因为,这些文档以及资料都是外国人写的</h3>
        name参数的值: <span th:text="${param.name}"></span><br/>
        参数的数量 : <span th:text="${param.size()}"></span><br/>

        <hr>
        <h3>内置对象有很多很多,所以根据文档慢慢学就行</h3>
        <p th:text="${#maps.size(hashMap)}"></p>


    </div>
</body>
</html>